home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ADA Programming Guide
/
ADA Programming Guide.iso
/
ada_gwu
/
readme.dos
< prev
next >
Wrap
Text File
|
1996-01-30
|
14KB
|
315 lines
GW-Ada/Ed Distribution January 1994
Prof. Michael B. Feldman
Department of Electrical Engineering and Computer Science
The George Washington University
Washington, DC 20052
(202) 994-5253 (voice)
(202) 994-5296 (fax)
mfeldman@seas.gwu.edu (Internet)
This distribution contains the source code and executables for GW-Ada/Ed,
which consists of the NYU Ada/Ed translator/interpreter system for DOS,
together with an integrated editor developed by Prof. Arthur Vargas Lopes
of the Pontifical University at Porto Alegre, Brazil. Lopes began his work on
GW-Ada/Ed while he was a doctoral student at The George Washington
University. There is also a very nice extended runtime facility, with
interesting kinds of source tracing, developed by Charles Kann, a
doctoral student at GW.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Purpose License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. See relevant excerpts below.
System Requirements
IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS
at least 3.6 mb available extended memory
at least 5 mb free hard disk space
Acquiring GW-Ada/Ed
GW-Ada/Ed is distributed in the form of .zip archives created by info-zip,
which is included in the distribution.
The installable distribution consists of the following files:
-rw-r--r-- 1 mfeldman users 1431491 Jan 9 16:24 binaries.zip
-rw-r--r-- 1 mfeldman users 34437 Jan 9 11:47 deptree.zip
-rw-r--r-- 1 mfeldman users 89467 Jan 9 11:24 pretty.zip
-rw-r--r-- 1 mfeldman users 10643 Jan 21 16:45 readme.dos
-rw-r--r-- 1 mfeldman users 24329 Jan 21 16:33 readme.nyu
-rw-r--r-- 1 mfeldman users 15999 May 14 1992 script11.zip
-rw-r--r-- 1 mfeldman users 371454 Jan 9 17:59 support.zip
-rw-r--r-- 1 mfeldman users 30581 Jan 21 16:45 unzip.exe
-rw-r--r-- 1 mfeldman users 32461 Jan 21 14:31 userman.dos
-rw-r--r-- 1 mfeldman users 202112 Jun 26 1993 zip19p1.zip
unzip.exe is a DOS program to unzip the zip archives; zip19p1.zip contains
the entire info-zip distribution, including the zip program so that you
can create your own archives.
Userman.dos is a user-manual text file, describing the GW development
environment. Readme.nyu is a text file with documentation on the NYU
part of the system. Note that you do not have to use the GW-Ada/Ed
integrated environment, but can execute the various parts of NYU Ada/Ed
from the DOS command line, as described in the NYU instructions.
Binaries.zip is the archive containing the GW-Ada/Ed binaries; support.zip
is the other files necessary to run the system, and several sets of useful
demonstration programs.
Now for some extra goodies: Pretty.zip is a pre-compiled version of the NASA
PrettyPrinter, useful for formatting Ada programs nicely. Deptree.zip is
a pre-compiled program for computing and displaying the dependency tree of
a set of Ada compilation units. Finally, script11.zip is a public-domain
program that will set up a file into which all your terminal input and
output is copied. This is very useful for preparing assignments to turn in,
or for reporting strange GW-Ada/Ed behavior to us.
If you are interested in the source code, which was compiled with the
Intel C compiler running under DOS 5.0, get the following files:
-rwxr-xr-x 1 mfeldman 103339 Jan 28 16:44 envsourc.zip
-rwxr-xr-x 1 mfeldman 318490 Jan 28 16:45 hlpsourc.zip
-rw-r--r-- 1 mfeldman 58787 Jan 28 16:45 monsourc.zip
-rw-r--r-- 1 mfeldman 926615 Jan 28 16:46 nyusourc.zip
which contain the sources for the editor environment, help system,
runtime monitor, and the slightly modified NYU Ada/Ed, respectively.
BE SURE TO USE BINARY MODE TO FTP AND DOWNLOAD ALL THE zip AND exe FILES!
When you un-archive the files (see the instructions below), you will
find a user manual, userman.doc, describing the GW development
environment, and a file readme.nyu file with documentation on the NYU
part of the system. Note that you do not have to use the GW-Ada/Ed
integrated environment, but can execute the various parts of NYU Ada/Ed
from the DOS command line, as described in the NYU instructions.
Installing GW-Ada/Ed
Back up your distribution to floppy disks. Put binaries.zip on one
diskette, and the other files, including support.zip, on another.
It is very important to follow these instructions EXACTLY. Of the hundreds
of e-mail messages we have received about GW-Ada/Ed, many report problems
that are attributable simply to things being installed incorrectly.
Assuming that:
support.zip diskette is in drive B:
the target hard disk is C:
(1) Installation will create a directory called adaed containing
everything, so first change to the disk in which you wish this
directory to be installed.
C:
cd c:\
(2) Copy unzip.exe from the diskette to the hard drive
copy b:\unzip.exe .
(3) Unzip the first archive
unzip b:\support.zip
(4) change to the newly created adaed directory
cd adaed
(5) replace the first diskette with the second, and type
c:\unzip b:\binaries.zip
(6) Create a working directory for your Ada programs:
mkdir c:\adaed\myprogs
(7) Add c:\adaed to your DOS path, for example
path=c:\adaed;c:\;c:\dos
(8) create the adaed environment variable:
set adaed=c:\adaed
NOTE: It is EXTREMELY important that the GW-Ada/Ed binaries (.exe files
and all the help stuff) be at the top level of the adaed directory,
and that the path and environment variable both point there. If this
is not the case, you will get very strange error messages from the GW-Ada/Ed
shell.
You might wish to add steps (7) and (8) to your autoexec.bat file, or
create a separate setup.bat just to run when you need to use GW-Ada/Ed.
(9) You are now ready to enter the GW-Ada/Ed environment.
cd c:\adaed\myprogs
gwada
Once you enter the editor for the first time, you must select "new
library" from the "options" menu to create a library for your Ada
compilation output. Most of the other menu selections are pretty obvious
and you are invited to explore them.
For more information on how to use GW-Ada/Ed select the "GW-Ada/Ed" option
within the "Help" top menu item. For information on how to use the
editor select the "Editor" option within the "Help" top menu item.
You can also use <F1> to get a screen on help on using the "hot keys" in
the environment.
If you wish to run the Ada/Ed components adacomp, adabind, adaexec, and
adalib, from the DOS command line, keep in mind that the GW-Ada/Ed
environment has given the name "mylib" to your Ada library. You can
create additional Ada libraries, but only "mylib" is accessible to the
environment, and Ada/Ed can work with only one library at a time. See
the NYU documentation for more details on this.
Additional Libraries
We are providing a few additional libraries for you to work with. One is
a set of interesting demos developed at GWU; another is John Dalbey's
Spider Graphics; still other is an adaptation of the Portable Ada Math
Library. These are set up in separate subdirectories. A fourth
subdirectory contains a lot of interesting Ada programs supplied by NYU
as part of their distribution.
Ada/Ed requires that all units "with-ed" by a given main program be
compiled into the same Ada library as the main, so the best way to use
the math and graphics packages is to compile them into your program
library as set up above. All you need to do to accomplish this is give
the GW-Ada/Ed editor (or Ada/Ed) the full pathname, for example
c:\adaed\math\math.ads, when you open the file. This way you can leave
the source code in its own subdirectory without cluttering up your
working directory.
Help with the Ada Language Reference Manual
Part of the GW-Ada/Ed environment is a help system that assists in searching
the Ada Language Reference Manual. This hypertext-like navigational aid
is accessed from the Help menu in GW-Ada/Ed. If you have a mouse driver
installed, you can use it to select topics.
Templates in the Editor
We are experimenting with "templates" in the editor. Try selecting
options from the "Ada" menu. Some of the templates are very
straightforward control structures; others are "higher-level"
structures. You can change the contents of the templates - they are all
in .tpl files in the adaed directory. You can use any ASCII editor to
change them. We are developing the idea of making the entire
template-selection menu user-definable.
Package Completion
The package is a very important structure in Ada. To help you create
packages easily, we have included in the editor a facility that will
automatically create the skeleton of a package body once you have
constructed and compiled the specification. See the user manual for
further details.
Runtime Monitoring
This system incorporates some innovative facilities for letting you
observe the behavior of your program as it executes. When you start
executing a program, a window opens to show you its source code, and
scrolls the code, line-by-line, during execution. You can also "single-
step" through the code; pressing the space bar advances the execution
one more line. In addition, if your program calls a subprogram, a window
opens for the subprogram, overlapping the calling program's window.
Finally, you can control the execution speed of your program with a
"speed control."
If your program contains multiple Ada tasks, the runtime monitor will
let you follow the execution of the various tasks as they are "time-
shared". You can open up to four windows to show task source code. See
the user manual for further details.
Known Problems with GW-Ada/Ed
(1) After doing repeated compile/bind/execute cycles, gwada may crash.
We think this is due to "storage leaks" - slowly running out of
memory - but we are not sure yet. Just re-start gwada and
keep working.
We are working actively on the integrated environment, and encourage you
to submit suggestions and bug reports. However, you must realize that
this is an educational project, operating with little or no funding.
Therefore we cannot promise new versions or bug fixes. We'll do the best
we can.
Possible Problems with Ada/Ed
Ada/Ed is a quite stable compiler/interpreter, and almost always
compiles correct Ada code correctly. At GW we use Ada/Ed for our
freshman-level Ada course because of its useful error messages, speed of
compilation, and economy of disk space because only small pseudo-code
files are created, never full executables. Overall, you will find it a
very useful way to explore Ada without investing in a commercial
compiler.
Incorrect code will almost always give rise to useful error diagnostics.
Occasionally, incorrect programs with bizarre syntax or semantic errors
will cause an "Ada/Ed Internal Error". If this happens, you will
generally get a useful listing file anyway, so you can correct the
errors and re-compile, writing off the crash to Ada/Ed bugs, of which
there may still be some. In very unusual cases, Ada/Ed may crash on a
correct but unusually-structured program.
Occasionally we may be able to fix a bug in Ada/Ed itself, but we are
treating that system as stable and essentially frozen. Therefore we make
no promises to debug Ada/Ed. For that matter, neither does NYU, as they
are busy at work developing a true compiler for Ada 9X, to be
distributed under the GNU Public License as part of the gcc
distribution. They expect an initial release in 1993.
Keep in touch! Let us know how you like this system.
Disclaimer
This software is distributed absolutely WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
To receive a copy of the GNU General Public License write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139.
The following is an excerpt from the GNU General Public License concerning
warranties:
Because the program is licensed free of charge, there is no warranty
for the program, to the extent permitted by applicable law. Except when
otherwise stated in writing the copyright holders and/or other parties
provide the program "as is" without warranty of any kind, either expressed
or implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The entire risk as
to the quality and performance of the program is with you. Should the
program prove defective, you assume the cost of all necessary servicing,
repair or correction.
In no event unless required by applicable law or agreed to in writing
will any copyright holder, or any other party who may modify and/or
redistribute the program as permitted above, be liable to you for damages,
including any general, special, incidental or consequential damages arising
out of the use or inability to use the program (including but not limited
to loss of data or data being rendered inaccurate or losses sustained by
you or third parties or a failure of the program to operate with any other
programs), even if such holder or other party has been advised of the
possibility of such damages.
Acknowledgement
This project was sponsored by The George Washington University, and in
part by the United States Advanced Research Projects Agency (ARPA) under
contract #FY3592-93-10234, administered by Phillips Laboratory, Kirtland
AFB, NM 87117-5776.